Skip to content

Feat/sloc initial sweep - #28

Open
cryptanu wants to merge 3 commits into
trailofbits:mainfrom
cryptanu:feat/sloc-initial-sweep
Open

Feat/sloc initial sweep#28
cryptanu wants to merge 3 commits into
trailofbits:mainfrom
cryptanu:feat/sloc-initial-sweep

Conversation

@cryptanu

Copy link
Copy Markdown

Summary

  • Add sloc-initial-sweep plugin for logical/physical SLOC counting with per-folder/per-language breakdowns.
  • Include script, references, and examples under skills/sloc-initial-sweep/ in Trail of Bits plugin layout.
  • Document usage and list the plugin in the root README under Code Auditing.

@cryptanu
cryptanu requested a review from dguido as a code owner January 22, 2026 13:00
@CLAassistant

CLAassistant commented Jan 22, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@dguido

dguido commented Jan 22, 2026

Copy link
Copy Markdown
Member

Thanks for this @cryptanu! We actually have a very similar one internally :>. I will look into whether we want to open source it.

@cryptanu

Copy link
Copy Markdown
Author

Thanks for this @cryptanu! We actually have a very similar one internally :>. I will look into whether we want to open source it.

It was a great first issue to get the hang of using these skills for me. Would like to have a look at what other primitives your internal tooling may cover that's not present here as well. Ty!

@dguido

dguido commented Jan 26, 2026

Copy link
Copy Markdown
Member

@cryptanu FYI I will look at this skill vs our internal one this week and consider what to do with it. Btw, the CLA lets us potentially include your contribution in our commercial tooling, which helps fund continued maintenance of our open source work. Please accept it and we'll keep working on these skills for everyone's benefit :).

@cryptanu

Copy link
Copy Markdown
Author

Sure. I'm curious, do the other skills maintain context by internally flattening with Slither on every run. I have an idea to run a "flatten" skill and cache this for future runs. Do lmk if this could improve performance and lower token cost per run.

Fix ruff lint issues
@dguido

dguido commented Jul 29, 2026

Copy link
Copy Markdown
Member

@cryptanu — this has been open since January and you've been responsive throughout. The silence since then is on us, not you, and I'm sorry for it.

Two separate things are holding it, and I'd rather name both than leave you guessing again.

1. A product decision that is ours to make, not yours. In January we said ToB has a similar internal tool and we'd decide whether to open-source it. That decision still hasn't been made, and it's the actual blocker — it determines whether this plugin is the SLOC story for this repo or duplicates one we're about to publish. I'm surfacing it rather than answering it, because it isn't mine to answer. @dguido, this needs a yes or no; six months of a first-time contributor waiting on it is the worst of both outcomes.

2. Mechanical gaps, if it does go ahead. These are concrete and quick:

  • No plugins/sloc-initial-sweep/.claude-plugin/plugin.json — the file is absent from the diff entirely. It needs name, version, description (and author), with name matching the directory.
  • Not registered in root .claude-plugin/marketplace.json — needs an entry whose name, version, and description match plugin.json exactly, with "source": "./plugins/sloc-initial-sweep".
  • No CODEOWNERS entry — add /plugins/sloc-initial-sweep/ @cryptanu @dguido.
  • Description is imperative, not third person. "Calculate logical or physical SLOC…" should read as a description of the skill ("Calculates…"), and should name the situations that should trigger it.
  • Non-standard frontmatter keysversion, category, tags, author, requires aren't part of the SKILL.md schema. Version and author belong in plugin.json; the rest can go, and requires: [python3] is better stated as a PEP 723 header on scripts/sloc_counter.py so uv run resolves it.

What already passes: plugin README, root README row, all three required sections, SKILL.md at 375 lines, no hardcoded paths, skills/ at the plugin root, CLA signed.

Don't spend time on the mechanical list until item 1 is answered — I don't want you doing work that gets closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants